Computer-implemented diagramming systems exist that enable users to author and edit graphical diagrams. To facilitate the authoring of complex diagrams, such as complex network diagrams or graphs, certain diagramming systems include a feature termed automatic layout. In accordance with this feature, the diagramming system automatically generates a diagram based on data that specifies the elements to be included in the diagram and any relationships there between, as well as on a set of rules or algorithms that govern certain layout considerations such as the size and placement of diagram elements.
Some diagramming systems that support automatic layout also support user-defined layout constraints. A layout constraint specifies a persistent layout relationship between certain elements in a diagram. Layout constraints provide a means by which a user can tailor or fine tune a diagram without having to explicitly position diagram elements. When a user defines a layout constraint with respect to diagram elements, the diagramming system sets up a persistent layout relationship between the diagram elements that is maintained in subsequent interactions. The layout constraint is maintained until such time as the user explicitly removes it. Examples of layout constraints include but are not limited to constraints that control the alignment of diagram elements, the distribution of diagram elements, and the separation between diagram elements.
User interfaces associated with certain conventional diagramming systems that support user-defined layout constraints are limited in that, to apply a layout constraint, the user must first select the elements that are to be involved in the constraint, and then must separately choose which type of constraint to apply.